//存回nums1
public class array5 {
    public static void main(String[] args) {
        System.out.println("Hello Array");
        //int[] nums1 = {1, 2, 3, 0, 0, 0};
        //int[] nums2 = {2, 5, 6};
        //int m = 3;
        //int n = 3;
        //int[] nums1 = {0};
        //int m = 0;
        //int[] nums2 = {1};
        //int n = 1;
        int[] nums1 = {2, 0};
        int m = 1;
        int[] nums2 = {1};
        int n = 1;
        
        System.out.println("m="+m);
        System.out.println("n="+n);
        merge(nums1, m, nums2, n);

        for (int i = 0; i < nums1.length; i++) {
            System.out.println("nums1["+i+"]="+nums1[i]);
        }
    }
    static void merge(int[] nums1, int m, int[] nums2, int n) {
        // 2個陣列取大的
        int k = m+n-1; 
        int i = m-1, j = n-1;
        while (i >= 0 || j >= 0) {
            if (j < 0  || ( i >= 0 && nums1[i] >= nums2[j])) {
                nums1[k] = nums1[i];
                k--;
                i--;
            } else{
                //results[k] = nums2[j];
                nums1[k] = nums2[j];
                k--;
                j--;
            }
    
        }

        
    }
}
